package com.qudian.java.core.common.annotation;


import com.qudian.java.core.common.enumeration.RegexTypeEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Created by zhangdelong on 16/8/27.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.PARAMETER})
public @interface Validate {
    //是否为空 默认为空
    boolean isNotNull() default false;

    //最大长度
    int maxLength() default 0;

    //最小长度
    int minLength() default 0;

    //提供几种常用的正则验证
    RegexTypeEnum regexType() default RegexTypeEnum.NONE;

    //自定义正则验证
    String regexExpression() default "";

    //参数或者字段描述,
    String description() default "";
}
